In general, traditional telephone networks, such as the publicly-switched telephone network (“PSTN”), employ circuitry and switches to connect telephone users across the network to facilitate communication. In such a network, a “trunk” or “trunk circuit” is a connection between distributed switches—a trunk may be a physical wire between the switches or any other way of transmitting data. A “trunk group” is a group of common or similar circuits (i.e., trunks) that originate from the same physical location, e.g., a switchboard. Trunk groups are used to route calls through the traditional network using the telephone number as the routing key that provides routing instructions to distributed switches. After a call link has been established between two switches over a trunk, that trunk is dedicated or “locked up” to that call for the duration of the call, e.g., another call link cannot use that trunk until the call has ended, for example by a hang-up or disconnection. In such a configuration, the trunks impose physical limitations on the amount of data (and hence the number of calls) that may be transmitted over the trunk group. Such limits are based on the capacity of the circuit to transmit data. As physical limits of a trunk group are approached, the number of additional calls that can be routed over that particular trunk group decreases. One known solution to increase the call capacity of a trunk group is to add more trunk circuits to the trunk group.
An emerging alternative to traditional phone networks uses packetized data to transmit content of telephone communications (e.g., voice or videoconferencing data) through a packet-based network such as an Internet Protocol (“IP”) network. Such a configuration is commonly referred to as a Voice over Internet Protocol (“VOIP”) network and can support voice, data, and video content. A packet-based telephone network employs packet-switches (also referred to as gateways, media gateways, media gateway controllers, switching components, softswitches, data sources, or call processors). A packet assembler can convert a signal received from a traditional telephone network call into a set of data packets for transmission through the IP network.
In contrast to the circuit-based architecture of traditional telephone networks, packet-based networks do not require dedicated circuits for transmitting data associated with a call (sometimes referred to as a call, a call session, a set of data packets, or data packets), and as such, do not encounter the same physical limitations as circuit-switched networks. Packet-based networks include components with an interface to the packet-based network, for example, an IP address. Packet-switches are analogous to circuit-based switches, and data links are analogous to trunk circuits. However, unlike circuit-based network calls, packet-based network calls employ an IP address as the routing key. As the data traffic over a particular data link increases (e.g., up to and exceeding the bandwidth capacity of the data link), existing calls that utilize the particular data link can be affected. For example, the call may be disconnected or problems such as jitter or delay in voice transmission can occur for existing calls due to the increased data traffic.
Although the strict limit on the number of additional calls that a particular trunk can transmit in circuit-based telephony are not present in packet-based telephony, the network itself and the topology of the network can present practical or physical limits on data transmission (e.g., call routing or quality). A chokepoint can develop in a packet-based network when data packets arrive at a packet switch faster than the packet switch can process the data packets. The chokepoint can result in lost or delayed transmission of data packets that affects existing calls. When a packet-switch is a router, the router generally lacks the processor capacity and signaling capability to reroute incoming data packets to prevent further network slowdown due to the chokepoint.
Previous attempts to avoid chokepoints in a network and associated slowdowns have included providing a server to identify an available IP network route based on available bandwidth associated with the route. The route (composed of undefined, ad hoc route segments between IP routers known as “path links”) defines a bandwidth capability for data transmission that consists of the sum of bandwidth available on each path link. Therefore, a route can change as available bandwidth of the constituent path links fluctuates. Instead, the server, also called a Virtual Provisioning Server (“VPS”), communicates the route having the most available bandwidth to a signaling gateway that can transmit data over that route defined by the VPS. In such a system, the VPS has knowledge of the topology of the IP network to be able to route the traffic. For example, the VPS obtains available bandwidth and other routing type information from the routers making up the portion of the IP network through which the VPS routes its traffic.